package com.probox.common.entity.service.customer;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.probox.customer.api.domain.CustomerCollect;
import com.probox.order.api.domain.OrderQuery;

/**
 * 客户收藏记录Service接口
 *
 * @author zsy
 * @date 2021-06-26
 */
public interface ICustomerCollectService extends IService<CustomerCollect> {


        /**
         * 查询客户收藏记录
         *
         * @param collectUid 客户收藏记录ID
         * @return 客户收藏记录
         */
        public CustomerCollect selectCustomerCollectById(Long collectUid);


        /**
         * 查询客户收藏记录列表
         *
         * @param customerCollect 客户收藏记录
         * @return 客户收藏记录集合
         */
        public List<CustomerCollect> queryList(CustomerCollect customerCollect);


        /**
         * 新增客户收藏记录
         *
         * @param customerCollect 客户收藏记录
         * @return 结果
         */
        public boolean insertCustomerCollect(CustomerCollect customerCollect);

        /**
         * 修改客户收藏记录
         *
         * @param customerCollect 客户收藏记录
         * @return 结果
         */
        public boolean updateCustomerCollect(CustomerCollect customerCollect);

        /**
         * 批量删除客户收藏记录
         *
         * @param collectUids 需要删除的客户收藏记录ID
         * @return 结果
         */
        public boolean deleteCustomerCollectByIds(Long[] collectUids);

        /**
         * 查询商品是否被收藏
         * @param customerCollect
         * @return
         */
        public Boolean getIsCollectGoods(CustomerCollect customerCollect);

        /**
         * 用户收藏或取消收藏
         * @param customerCollect
         * @return
         */
        public String editCollectStatus(CustomerCollect customerCollect);

        public String batchCollect(CustomerCollect customerCollect);

        /**
         * 查询当前客户所有商品收藏记录
         * @return
         */
        public List<CustomerCollect> getCustomerAllCollect(CustomerCollect customerCollect);

        public List<CustomerCollect> getCustomerCollect(Long customerUid);

        /**
         * 查询当前客户所有商品收藏记录总条数
         * @return
         */
        public Integer getCustomerAllCollectCount(CustomerCollect customerCollect);

        public Long countAmount(OrderQuery query);
}
